<?php
// $Id: switch.php,v 1.5 2006/07/22 13:55:35 alex Exp $
$Switcher = $MT_mod_cust['Switcher'];

// Устанавливаем шаблон
$Switcher->tml_add('php',$MT_mod_name,'whtml.php');
$Switcher->tml_setvar('title',mst_getconfig('title'));

switch($Switcher->next())
{
	// 
	case 'default':
		// Загружаем branch по умолчанию указанного модуля
		$mod_name = $Switcher->next();
		if (strlen($mod_name)>0 AND mst_modpath($mod_name,'switch/default/switch.php',true))
		{
			$Switcher->subswitch($mod_name,'default','switch.php','this');
		}else
		{
			$rdisp = $Switcher->get_rdisp();
			$cdisp = $Switcher->get_cdisp();
			// echo "<!-- {$rdisp} {$cdisp} -->";
			$Switcher->subswitch('switch','error','switch.php',0,null,'404');
		}
	break;
	case 'admin':
		// Загружаем branch администрирования указанного модуля
		// Проверяем полномочия пользователя
		if (!switch_isadmin())
		{
			$Switcher->subswitch('switch','error','switch.php',0,null,'access');
			break;
		}
		// Переустанавливаем шаблон
		$Switcher->tml_reset('sigma',$MT_mod_name,'admin.tml');
		$Switcher->tml_setvar('title','Администрирование '.mst_getconfig('title'));
		// Рисуем список доступных для администрирования модулей
		$admin_list = '';
		$admin_mods = switch_modlist('admin/switch.php');
		foreach ($admin_mods as $this_admin_mod)
		{
			//
			$admin_list .= 
					'<a href="'.$Switcher->url('LEVEL/'.$this_admin_mod['mod_name']).'">'
					.$this_admin_mod['mod_name'].'</a> ';
		}
		$Switcher->tml_setvar('admin_list',$admin_list);
		// Загружаем branch
		$mod_name = $Switcher->next();
		if (strlen($mod_name)>0 AND mst_modpath($mod_name,'switch/admin/switch.php',true))
		{
			$Switcher->subswitch($mod_name,'admin','switch.php','this');
		}else
		{
			$Switcher->subswitch('switch','error','switch.php',0,null,'404');
		}
	break;
	default:
		// Загружаем главный branch
		$Switcher->subswitch(mst_getcfgmod($MT_mod_name,'main_mod'),
							mst_getcfgmod($MT_mod_name,'main_branch'),
							mst_getcfgmod($MT_mod_name,'main_file'),
							mst_getcfgmod($MT_mod_name,'main_disp'));
	break;
}
?>